package com.carleasoft.mps.cms.business.resource.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carleasoft.mps.cms.business.resource.bean.entity.LibraryEntity;
import com.carleasoft.mps.cms.business.resource.bean.entity.ReasourceCollectEntity;
import com.carleasoft.mps.cms.business.resource.bean.entity.ReasourceEntity;
import com.carleasoft.mps.cms.business.resource.bean.po.DoorPagePo;
import com.carleasoft.mps.cms.business.resource.bean.po.ReasourcePageQueryPo;
import com.carleasoft.mps.cms.business.resource.bean.po.ReasourcePo;
import com.carleasoft.mps.cms.business.resource.bean.po.ResourcePo;
import com.carleasoft.mps.cms.business.resource.bean.vo.*;
import org.apache.catalina.servlet4preview.http.HttpServletRequest;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author: yangHao
 * @createDate:2023/5/18
 * @description:
 */
public interface ReasourceService extends IService<ReasourceEntity> {
    boolean saveResource(ReasourcePo reasourcePo, HttpServletRequest request);

    boolean updateResource(ReasourcePo reasourcePo, HttpServletRequest request);

    boolean top(ReasourcePo reasourcePo);

    boolean delete(ReasourcePo reasourcePo);

    ReasourceVo detail(ReasourcePo reasourcePo);

    Page<ReasourcePageQueryVo> pageQuery(Page page, ReasourcePageQueryPo reasourcePageQueryPo, HttpServletRequest request);

    List<CategoryVo> getLibraryByCategory(ReasourcePo reasourcePo);

    List<DoorListVo> doorList(DoorPagePo doorPagePo);

    List<DoorLibraryVo> doorLibrary();

    boolean viewDetail(ReasourcePo reasourcePo,HttpServletRequest request);

    Page<ReasourcePageQueryVo> doorPageQuery(Page page, ReasourcePageQueryPo reasourcePageQueryPo, HttpServletRequest request);

    List<LibraryEntity> getLibrary();

    List<ReasourceCollectEntity> getCategory(LibraryEntity reasourceEntity);

    WorkbenchCountVo workbenchCount();

    List<WebCountVo> webCount();

    boolean importExcel(ResourcePo resourcePo , HttpServletResponse response);
}
